<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!--

/******************************************************************************
 * Copyright (c) 2004,2005 IBM Corporation and others.
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0

 *
 * Contributors:
 *    IBM Corporation - initial API and implementation 
 ****************************************************************************/

-->
</head>
<body>

MSL resource implementation.  This package provides the MSL implementation of
the EMF {@link org.eclipse.emf.ecore.resource.Resource} interface, and the
resource factory responsible for creating MSL resources.

<h2>Package Specification</h2>
<p>
The {@link org.eclipse.gmf.runtime.emf.core.internal.resources.MResource} interface
is the abstract specification of an MSL resource, which extensions of the
MSL can implement to customize certain key MSL behaviours such as creating,
destroying, iterating, and managing the IDs of model elements.
</p>
<p>
Custom <code>MResource</code>s are typically created by custom implementations
of the {@link org.eclipse.gmf.runtime.emf.core.internal.resources.MResourceFactory}
interface, which must also implement the EMF
{@link org.eclipse.emf.ecore.resource.Resource.Factory Resource.Factory} interface.
<code>MResourceFactory</code> also defines an API for customization proxy resolution.
</p>
<p>
If required, custom <code>MResource</code>s should consider extending
the {@link org.eclipse.gmf.runtime.emf.core.internal.resources.LogicalResource} class
to inherit support for decomposition of resources into multiple "physical" parts.
This is typically useful only if the resource is to be persisted in files
in a version-control system.
</p>
<p>
Other classes in this package are responsible for the MSL's customization of
EMF's XMI persistence capabilities and the handling of dangling references
and other problems in serialization and deserialization.
</p>

@see org.eclipse.gmf.runtime.emf.core.util.EObjectUtil
@see org.eclipse.gmf.runtime.emf.core.util.ResourceUtil
@see org.eclipse.gmf.runtime.emf.core.util.ProxyUtil

@canBeSeenBy org.eclipse.gmf.runtime.emf.core.*

</body>
</html>
